High-level lock-less programming for multi-core
نویسندگان
چکیده
class ff node { protected: virtual bool push(void∗ data) { return qout−>push(data); } virtual bool pop(void∗∗ data) { return qin−>pop(data); } public: virtual void∗ svc(void ∗ task) = 0; virtual int svc init () { return 0; }; virtual void svc end() {} ... private: SPSC∗ qin; SPSC∗ qout; }; Arbitrary streaming networks layer implements the ff_node, i.e. the building block of networks and serves as a container for business code and "mediators". Cyclic networks use uSPSC to avoid deadlocks.
منابع مشابه
Lock Inference Proven Correct
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more popular. Unfortunately, it is difficult for programmers to ensure their code is correct because current languages are too low-level. Atomic sections are a recent language primitive that expose a higher level interface to programmers. Thus they make concurrent programming more straightforward. Ato...
متن کاملFastFlow: Efficient Parallel Streaming Applications on Multi-core
Shared memory multiprocessors come back to popularity thanks to rapid spreading of commodity multi-core architectures. As ever, shared memory programs are fairly easy to write and quite hard to optimise; providing multi-core programmers with optimising tools and programming frameworks is a nowadays challenge. Few efforts have been done to support effective streaming applications on these archit...
متن کاملImplementation of Core-Lock mechanism as a Data Synchronization Method in Embedded Multi-core Systems
Multi-core processors have become prevalent in the embedded systems for High-performance computations especially in the high-end digital applications. One of the major challenges in multi-core system is Data synchronization which facilitates the simultaneous execution of multiple threads in the same processor environment. Traditional methods solved the Data Synchronization issues using Lock bas...
متن کاملInvestigating Energy/Performance Tradeoffs using Transactional Memory in a MPSoC Environment
Multi-core architectures have become pervasive in large-scale digital integrated systems. Manufacturers of general-purpose processors have essentially given up trying to increase clock speed, and instead are now focusing on multiprocessor-system-on-a-chip (MPSoC) architectures, in which multiple processors residing on a single chip communicate directly through shared hardware caches, providing ...
متن کاملProvably sound semantics stack for multi-core system programming with kernel threads
Operating systems and hypervisors (e.g., Microsoft Hyper-V) for multi-core processor architectures are usually implemented in high-level stack-based programming languages integrated with mechanisms for the multi-threaded task execution as well as the access to low-level hardware features. Guaranteeing the functional correctness of such systems is considered to be a challenge in the field of for...
متن کامل